﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.Runtime.Serialization;

namespace GTA.BusinessEntity.Configuration
{
    [Serializable()]
    public class SystemConfiguration : ISerializable
    {
        public SystemConfiguration()
        {
            General = new General();
            InformativeSummarySize = 146;
            ShowInformativeSummary = true;
            InformativeSummaryLstTasksProjectsHiehgt = 200;
            InformativeSummaryLstTasksArchitectsHiehgt = 200;
            InformativeSummaryLstTasksStatesHiehgt = 200;
            InformativeSummaryLstTasksCategoriesHiehgt = 200;
            InformativeSummaryFilterProjects = new InformativeSummaryFilter();
            InformativeSummaryFilterArchitects = new InformativeSummaryFilter();
            InformativeSummaryFilterStates = new InformativeSummaryFilter();
            InformativeSummaryFilterCategories = new InformativeSummaryFilter();
            FilterSearchFrmDisponibilidadeArquitetos = new SearchFilter();
            FilterSearchFrmPerformanceArea = new SearchFilter();
            FilterSearchFrmTasks = new SearchFilter();
            ListStateConfiguration = new List<ListConfiguration>();
        }

        [XmlElement("ShowInformativeSummary")]
        public bool ShowInformativeSummary;
        [XmlElement("InformativeSummarySize")]
        public Int32 InformativeSummarySize;
        [XmlElement("InformativeSummaryLstTasksProjectsHiehgt")]
        public Int32 InformativeSummaryLstTasksProjectsHiehgt;
        [XmlElement("InformativeSummaryLstTasksArchitectsHiehgt")]
        public Int32 InformativeSummaryLstTasksArchitectsHiehgt;
        [XmlElement("InformativeSummaryLstTasksStatesHiehgt")]
        public Int32 InformativeSummaryLstTasksStatesHiehgt;
        [XmlElement("InformativeSummaryLstTasksCategoriesHiehgt")]
        public Int32 InformativeSummaryLstTasksCategoriesHiehgt;
        [XmlElement("General")]
        public General General;
        [XmlElement("InformativeSummaryFilterProjects")]
        public InformativeSummaryFilter InformativeSummaryFilterProjects;
        [XmlElement("InformativeSummaryFilterArchitects")]
        public InformativeSummaryFilter InformativeSummaryFilterArchitects;
        [XmlElement("InformativeSummaryFilterStates")]
        public InformativeSummaryFilter InformativeSummaryFilterStates;
        [XmlElement("InformativeSummaryFilterCategories")]
        public InformativeSummaryFilter InformativeSummaryFilterCategories;
        [XmlElement("FilterSearchFrmTasks")]
        public SearchFilter FilterSearchFrmTasks;
        [XmlElement("FilterSearchFrmDisponibilidadeArquitetos")]
        public SearchFilter FilterSearchFrmDisponibilidadeArquitetos;
        [XmlElement("FrmPerformanceArea")]
        public SearchFilter FilterSearchFrmPerformanceArea;
        [XmlElement("ListStateConfiguration")]
        public List<ListConfiguration> ListStateConfiguration;

        #region ISerializable Members

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
